﻿using System;
using Sustainalytics.Entities;
using System.Collections.Generic;
using Sustainalytics.ScreeningTool.BL.Model;

namespace Sustainalytics.ScreeningTool.BL
{
    public interface IFilterManager
    {
        void DeleteFullFilter(Guid filterId, string userName);
        void UpdateSelectedCriteriaOrderNumber(Guid filterId, List<Guid> criteriaIds);
        void SaveUserCustomFilterOrder(Guid userId, Guid? accountId, TargetType targetType, ScreenRegion screenRegion, List<Guid> filterIds);
        List<Filter> GetAccountFilters(Guid accountId);
        List<Filter> GetUserFilters(string userName, TargetType targetType);
        Filter LoadFilter(Guid filterId, string userName);
        Filter SaveFilter(string userName, FilterAddEditDto filter);
        void EditFilter(string userName, Filter filter);
    }
}
